package com.ruoyi.system.service.impl;

import java.util.List;

import cn.wildfirechat.sdk.UserAdmin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.TUserStatusMapper;
import com.ruoyi.system.domain.TUserStatus;
import com.ruoyi.system.service.ITUserStatusService;

/**
 * 用户状态Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
@Service
public class TUserStatusServiceImpl implements ITUserStatusService 
{
    @Autowired
    private TUserStatusMapper tUserStatusMapper;

    /**
     * 查询用户状态
     * 
     * @param id 用户状态主键
     * @return 用户状态
     */
    @Override
    public TUserStatus selectTUserStatusById(Long id)
    {
        return tUserStatusMapper.selectTUserStatusById(id);
    }

    /**
     * 根据用户ID查询用户状态
     * 
     * @param uid 用户ID
     * @return 用户状态
     */
    @Override
    public TUserStatus selectTUserStatusByUid(String uid)
    {
        return tUserStatusMapper.selectTUserStatusByUid(uid);
    }

    /**
     * 查询用户状态列表
     * 
     * @param tUserStatus 用户状态
     * @return 用户状态
     */
    @Override
    public List<TUserStatus> selectTUserStatusList(TUserStatus tUserStatus)
    {
        return tUserStatusMapper.selectTUserStatusList(tUserStatus);
    }

    /**
     * 新增用户状态
     * 
     * @param tUserStatus 用户状态
     * @return 结果
     */
    @Override
    public int insertTUserStatus(TUserStatus tUserStatus)
    {
        return tUserStatusMapper.insertTUserStatus(tUserStatus);
    }

    /**
     * 修改用户状态
     * 
     * @param tUserStatus 用户状态
     * @return 结果
     */
    @Override
    public int updateTUserStatus(TUserStatus tUserStatus)
    {
        return tUserStatusMapper.updateTUserStatus(tUserStatus);
    }

    /**
     * 批量删除用户状态
     * 
     * @param ids 需要删除的用户状态主键
     * @return 结果
     */
    @Override
    public int deleteTUserStatusByIds(Long[] ids)
    {
        return tUserStatusMapper.deleteTUserStatusByIds(ids);
    }

    /**
     * 删除用户状态信息
     * 
     * @param id 用户状态主键
     * @return 结果
     */
    @Override
    public int deleteTUserStatusById(Long id)
    {
        return tUserStatusMapper.deleteTUserStatusById(id);
    }

    /**
     * 根据用户ID删除用户状态
     * 
     * @param uid 用户ID
     * @return 结果
     */
    @Override
    public int deleteTUserStatusByUid(String uid)
    {
        return tUserStatusMapper.deleteTUserStatusByUid(uid);
    }

    /**
     * 设置用户状态
     * 
     * @param uid 用户ID
     * @param status 状态：0 正常；1 被禁言，2 被封禁
     * @return 结果
     */
    @Override
    public Boolean setUserStatus(String uid, Integer status)
    {
        try {
            UserAdmin.updateUserBlockStatus(uid,status);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return true;
    }
}
